.. _cmcIxIsDone: cmcIxIsDone ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmcIxIsDone ([in] VT_I4 BoardId, [in] VT_I4 MapIndex, [out] VT_PI4 IsDone) DESCRIPTION ````````````` - ì§€ì •í•œ ë³´ê°„ë§µì— í•´ë‹¹í•˜ëŠ” ë³´ê°„ìž‘ì—…ì´ ì™„ë£Œë는지를 확ì¸(確èª)합니다. \ - ì´ í•¨ìˆ˜ì˜ ì‚¬ìš©ê³¼ í˜¸ì¶œì— ìžˆì–´, ì œê³µëœ ãˆœì»¤ë¯¸ì¡°ì•„ì˜ í•¨ìˆ˜ í—¤ë” Visual Basic ì—서는 í•¨ìˆ˜ì˜ ì²¨ë‘ì–´ cmc ê°€ 붙지 않습니다. PARAMETER ````````````` â–¶ BoardId: 사용ìžê°€ ì„¤ì •í•œ 디바ì´ìŠ¤(ë³´ë“œ) ID. â–¶ MapIndex : 맵번호(Map index), ì´ ë§µë²ˆí˜¸ë¥¼ ì‚¬ìš©í•˜ê¸°ì „ì— ë¨¼ì € cmcIxMapAxes() 함수를 통하여 해당 ë§µë²ˆí˜¸ì— ìœ íš¨í•œ ì¶•ë“¤ì´ ë§µí•‘ë˜ì–´ 있어야 합니다. â–¶ IsDone : ì´ ë§¤ê°œ 변수로 ì¸í•´ 모션 ìž‘ì—…ì´ ì™„ë£Œë˜ì—ˆëŠ”지를 íŒë‹¨í• 수 있습니다. .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 0, ëª¨ì…˜ìž‘ì—…ì´ ì™„ë£Œë˜ì§€ ì•ŠìŒ 1, ëª¨ì…˜ìž‘ì—…ì´ ì™„ë£Œë¨ RETURN VALUE ````````````` +------------+-----------+ | Value | Meaning | +============+===========+ | ìŒìˆ˜ | 수행 실패 | +------------+-----------+ | ERR_NONE | 수행 성공 | +------------+-----------+ EXAMPLE ````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #define MAP0 0 //맵번호 (0) Long BoardID = 0; cmcIxMapAxes(BoardID, MAP0, cmcX1_MASK | cmcY1_MASK, cmcIX_MODE_LINEAR); //ë˜ëŠ” cmcIxMapAxes(BoardID, MAP0, 0x3, 0x0); //ë³´ê°„ ì´ë™í• ì¶•ë“¤ì˜ ê¸°ë³¸ì†ë„를 ì„¤ì •í•©ë‹ˆë‹¤. //ì†ë„ 패턴 ì„¤ì • long nIsDone = 0; double fDistList[2] = {1000, 1000}; if(cmcIxLine(BoardID, MAP0, fDistList, cmcFALSE) != ERR_NONE){ // ì—러메시지 ì¶œë ¥ return; } while (1){ cmcIxIsDone(BoardID, MAP0, &nIsDone ); if(nIsDone == cmcTRUE) break; else{ ... } } .. code-block:: c++ :linenos: Visual Basic //BoardID는 0으로 ì„ ì–¸ë˜ì—ˆë‹¤ê³ ê°€ì •í•¨ Dim fDistList As Double Dim nIsDone As Long If (IxLineStart(BoardID, MAP0, fDistList(0)) = cmcFALSE) Then // ì—러메시지 ì¶œë ¥ Exit Sub End If While (IxIsDone(BoardID, 3, nIsDone) = cmcFALSE) … end If (Not (ErrGetLastCode(nErrCode) = ERR_NONE)) Then // ì—러메시지 ì¶œë ¥ Exit Sub End If